package com.artron.mediaartron.data.net.api;

import com.artron.baselib.entity.Response;
import com.artron.mediaartron.data.entity.MaterialData;
import com.artron.mediaartron.data.entity.UploadMaterialData;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import rx.Observable;

import static com.umeng.analytics.pro.x.P;

/**
 * Class description here
 *
 * @author doing
 * @version 1.0.0
 * @since 2017-10-18.
 */

public interface MaterialLibraryApi {

    @Multipart
    @POST("uploadMerial/{passportId}")
    Observable<Response<UploadMaterialData>> uploadMaterial(@Path("passportId") String passId, @Query("clientCode") String clientCode,
                                                            @Part MultipartBody.Part file);

    @GET("queryMaterials/{passportId}")
    Observable<Response<MaterialData>> queryMaterial(@Path("passportId") String passportId, @Query("currentPageIndex") int currentPageIndex,
                                                    @Query("pageSize") int pageSize);

    @FormUrlEncoded
    @POST("batchDeleteMaterial/{passportId}")
    Observable<Response> deleteMaterial(@Path("passportId") String passId, @Field("ids") String ids);
}
